﻿

namespace Mulala.Cavan.Domain.MainBoundedContext.ConsignModule
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Linq;
    using System.Text;
    using FluentValidation.Attributes;
    using Mulala.Cavan.Domain.MainBoundedContext.CorporationModule;
    using Mulala.Cavan.Domain.MainBoundedContext.DictionaryModule;
    using Mulala.Cavan.Domain.MainBoundedContext.NannyModule;
    using Mulala.Cavan.Domain.MainBoundedContext.ProprietorModule;
    using Mulala.Cavan.Domain.Seedwork;

    [Serializable]
    [Validator(typeof(ConsignValidator))]
    public class Consign : Persistent
    {
        public virtual Proprietor Proprietor { get; set; }
        [DisplayName("姓名")]
        public virtual string Name { get; set; }
        [DisplayName("年龄要求")]
        public virtual int Age { get; set; }
        [DisplayName("性别要求")]
        public virtual int Sex { get; set; }
        [DisplayName("工作地区")]
        public virtual Area Area { get; set; }
        [DisplayName("工作地址")]
        public virtual string Address { get; set; }
        [DisplayName("经验要求")]
        public virtual int Experience { get; set; }
        [DisplayName("技能要求")]
        public virtual long NecessarySkill { get; set; }
        public virtual long FirstSkill { get; set; }
        public virtual long SecondSkill { get; set; }
        public virtual long ThirdSkill { get; set; }
        [DisplayName("婚姻要求")]
        public virtual ConsignIdentifier.MarriedNeed IsMarried { get; set; }
        [DisplayName("小孩要求")]
        public virtual ConsignIdentifier.HasChildrenNeed HasChildren { get; set; }
        [DisplayName("学历要求")]
        public virtual int Degree { get; set; }
        [DisplayName("薪资待遇")]
        public virtual int Salary { get; set; }
        public virtual int BidCount { get; set; }
        public virtual DateTime NextLockTime { get; set; }
        [DisplayName("家政类型")]
        public virtual ConsignIdentifier.ConsignType Type { get; set; }
        [DisplayName("委托范围")]
        public virtual ConsignIdentifier.ConsignRange Range { get; set; }
        public virtual ConsignIdentifier.ConsignStatus ConsignStatus { get; set; }
        [DisplayName("联系人")]
        public virtual string Contact { get; set; }
        [DisplayName("联系电话")]
        public virtual string Telephone { get; set; }
        [DisplayName("备注")]
        public virtual string Remark { get; set; }
        public virtual ConsignIdentifier.CheckedStatus CheckedStatus { get; set; }
        public virtual DateTime SystemRecommendTime { get; set; }
        public virtual DateTime SystemRecommendTimeout { get; set; }
        public virtual IList<ConsignBidder> ConsignBidders { get; set; }

        public Consign()
        { 
        }
    }
}
